#include"khaibao.h"
void Nhap(int *p,int n)
{
	srand(unsigned(time(0)));
	for(int i=0;i<n;i++)
	{
		//*(p+i)=rand()%100;
		cout<<"p+"<<i<<"=";
		cin>>*(p+i);
	}
}
void Xuat(int *p,int n)
{
	for(int i=0;i<n;i++)
	{
		cout<<"\t"<<*(p+i);
	}
}
void NhapSoThuc(float *q,int m)
{
	srand(float(time(0)));
	for(int i=0;i<m;i++)
	{
		*(q+i)=rand()/1000000.0-1000;
	}
}
void XuatSoThuc(float *q,int m)
{
	for(int i=0;i<m;i++)
	{
		cout<<"\t\t"<<*(q+i);
	}
}
void LietKeChan(int *p,int n)
{
	for(int i=0;i<n;i++)
	{
		if(*(p+i)%2==0)
		{
			cout<<"\t"<<*(p+i);
		}
	}
}
void ViTriAm(float *q,int m)
{
	int vt,co=0;
	for(int i=0;i<m;i++)
	{
		if(*(q+i)<0)
		{
			vt=i;
			co=1;
			break;
		}
	}
	if(co==0)
	{
		cout<<"khong vi tri nao co gia tri am.";
		return;
	}
	cout<<"cac vi tri co gia tri am la: ";
	for(int i=vt;i<m;i++)
	{
		if(*(q+i)<0)
			cout<<"\t"<<i;
	}
}
int KTHoanThien(int n)
{
	int s=0;
	for(int i=1;i<n;i++)
	{
		if(n%i==0)
			s+=i;
	}
	if(s==n)
		return 1;
	return 0;
}
int VTHoanThienCuoiCung(int *p,int n)
{
	for(int i=n-1;i>=0;i--)
	{
		if(KTHoanThien(*(p+i))==1)
			return i;
	}
	return -1;
}
float DuongNN(float *q,int m)
{
	int vt,co=0;
	for(int i=0;i<m;i++)
	{
		if(*(q+i)>=0)
		{
			vt=i;
			co=1;
			break;
		}
	}
	if(co==0)
		return -1;
	float min=*(q+vt);
	for(int i=vt+1;i<m;i++)
	{
		if(min>*(q+i)&&*(q+i)>=0)
		{
			min=*(q+i);
		}
	}
	return min;
}
int KTSNT(int n)
{
	if(n<=1)
		return 0;
	for(int i=2;i<=sqrt((double)n);i++)
	{
		if(n%i==0)
			return 0;
	}
	return 1;
}
int SoNTDau(int *p,int n)
{
	for(int i=0;i<n;i++)
	{
		if(KTSNT(*(p+i))==1)
			return *(p+i);
	}
	return -1;
}
int SoNTLonNhat(int *p,int n)
{
	int vt,co=0;
	for(int i=0;i<n;i++)
	{
		if(KTSNT(*(p+i))==1)
		{
			vt=i;
			co=1;
			break;
		}
	}
	if(co==0)
		return 0;
	int max=*(p+vt);
	for(int i=vt+1;i<n;i++)
	{
		if(max<*(p+i)&&KTSNT(*(p+i))==1)
			max=*(p+i);
	}
	return max;
}
int ViTriAmLonNhat(float *q,int m)
{
	int vt,co=0;
	for(int i=0;i<m;i++)
	{
		if(*(q+i)<0)
		{
			vt=i;
			co=1;
			break;
		}
	}
	if(co==0)
		return -1;
	float max=*(q+vt);
	for(int i=vt+1;i<m;i++)
	{
		if(max<*(q+i)&&*(q+i)<0)
		{
			max=*(q+i);
			vt=i;
		}
	}
	return vt;
}
int XaGiaTriXNhat(int *p,int n,int x)
{
	int xanhat=abs(*(p+0)-x),vt=0;
	for(int i=1;i<n;i++)
	{
		if(xanhat<abs(*(p+i)-x))
		{
			xanhat=abs(*(p+i)-x);
			vt=i;
		}
	}
	return *(p+vt);
}
int GanGiaTriXNhat(int *p,int n,int x)
{
	int gannhat=abs(*(p+0)-x),vt=0;
	for(int i=1;i<n;i++)
	{
		if(gannhat>abs(*(p+i)-x))
		{
			gannhat=abs(*(p+i)-x);
			vt=i;
		}
	}
	return *(p+vt);
}
void TimDoan(float *q,int m)
{
	float a=*(q+0),b=*(q+0);
	for(int i=1;i<m;i++)
	{
		if(a>*(q+i))
			a=*(q+i);
		if(b<*(q+i))
			b=*(q+i);
	}
	cout<<"Nam trong doan:["<<a<<","<<b<<"]";
}
void XoaTatCaTrung(int *p,int &n)
{
	int dem,xoa;
	for(int i=0;i<n-1;i++)
	{
		dem=0;
		xoa=*(p+i);
		for(int j=i+1;j<n;j++)
		{
			if(*(p+i)==*(p+j))
			{
				dem++;
			}
		}
		if(dem>0)
		{
			for(int j=i;j<n;j++)
			{
				if(xoa==*(p+j))
				{
					for(int z=j;z<n;z++)
					{
						*(p+z)=*(p+(z+1));
					}
					j--;
					n--;
				}
			}
		}
	}
}
int LayChanDau(int n)
{
	while(n!=0)
	{
		if(n>-10&&n<10&&n%2==0)
			return n;
		n=n/10;
	}
	return 0;
}
int TongDauChan(int *p,int n)
{
	int s=0;
	for(int i=0;i<n;i++)
	{
		if(LayChanDau(*(p+i))%2==0)
			s+=*(p+i);
	}
	return s;
}
void HoanVi(int &a,int &b)
{
	int c=a;
	a=b;
	b=c;
}
void ViTriLeTang(int *p,int n)
{
	for(int i=1;i<n-2;i+=2)
	{
		for(int j=i+2;j<n;j+=2)
		{
			if(*(p+i)>*(p+j))
				HoanVi(*(p+i),*(p+j));
		}
	}
}
void NguyenToTang(int *p,int n)
{
	for(int i=0;i<n;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			if(KTSNT(*(p+i))==1&&KTSNT(*(p+j))==1&&*(p+i)>*(p+j))
				HoanVi(*(p+i),*(p+j));
		}
	}
}
void ChanLeTang(int *p,int n)
{
	for(int i=0;i<n;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			if(*(p+i)%2==0&&*(p+j)%2==0&&*(p+i)>*(p+j))
				HoanVi(*(p+i),*(p+j));
			if(*(p+i)%2==1&&*(p+j)%2==1&&*(p+i)>*(p+j))
							HoanVi(*(p+i),*(p+j));
		}
	}
}
